<?php
namespace NewCome\Object;

use Tsy\Library\Object;
/**
 * 任务
 * 
 * @package NewCome\Object
 */
class TaskObject extends Object
{
    /**

     * 记录编号 LID int(11) 自增 主键 必填
     * 任务名称 TaskName char(50)   必填
     * 任务内容 Content varchar(1000) 必填
     * 截止时间 EndTime char(50)
     * 生成时间 CTime int   必填
     * 任务状态 Status tinyint(1)   必填
     * 指派人 CUID int(11)   必填
     * 执行者 ZUID int(11)
     * 完成时间 FinishTime int
     */
    /**
     * @var string
     */
    protected $main='Task';
    protected $pk='LID';
    public $addFields=['TaskName','CTime','Status','CUID','ZUID','Content','EndTime','FinishTime'];//允许添加的字段，如果数组最后一个元素值为true则表示排除
    public $saveFields=['TaskName','CTime','Status','CUID','ZUID','Content','FinishTime','FinishTime'];//允许修改的字段，如果数组最后一个元素值为true则表示排除
    public $addFieldsConfig=[
    
//      'TaskName'=>[//字段名称:任务名称,数据类型:char(50),注释:
//            self::FIELD_CONFIG_DEFAULT=>'null',//当 任务名称(TaskName) 的值不存在时，取该值或该函数的值,
//            self::FIELD_CONFIG_DEFAULT_FUNCTION=>'null',//当 任务名称(TaskName) 的值不存在时，取该值或该函数的值,
//            self::FIELD_CONFIG_VALUE=>'null',//不管 任务名称(TaskName) 的值是否存在，取该值或该函数的值,
//            self::FIELD_CONFIG_VALUE_FUNCTION=>'null',//不管 任务名称(TaskName) 的值是否存在，取该值或该函数的值
//      ],

        'CTime'=>[//字段名称:生成时间,数据类型:int,注释:
//            self::FIELD_CONFIG_DEFAULT=>'null',//当 生成时间(CTime) 的值不存在时，取该值或该函数的值,
//            self::FIELD_CONFIG_DEFAULT_FUNCTION=>'null',//当 生成时间(CTime) 的值不存在时，取该值或该函数的值,
//            self::FIELD_CONFIG_VALUE=>'null',//不管 生成时间(CTime) 的值是否存在，取该值或该函数的值,
              self::FIELD_CONFIG_VALUE_FUNCTION=>'time',//不管 生成时间(CTime) 的值是否存在，取该值或该函数的值
        ],

      'Status'=>[//字段名称:任务状态,数据类型:tinyint(1),注释:
            self::FIELD_CONFIG_DEFAULT=>'1',//当 任务状态(Status) 的值不存在时，取该值或该函数的值,
//            self::FIELD_CONFIG_DEFAULT_FUNCTION=>'null',//当 任务状态(Status) 的值不存在时，取该值或该函数的值,
//            self::FIELD_CONFIG_VALUE=>'null',//不管 任务状态(Status) 的值是否存在，取该值或该函数的值,
//            self::FIELD_CONFIG_VALUE_FUNCTION=>'null',//不管 任务状态(Status) 的值是否存在，取该值或该函数的值
      ],

        'CUID'=>[//字段名称:指派人,数据类型:int(11),注释:
//            self::FIELD_CONFIG_DEFAULT=>'null',//当 指派人(CUID) 的值不存在时，取该值或该函数的值,
//            self::FIELD_CONFIG_DEFAULT_FUNCTION=>'null',//当 指派人(CUID) 的值不存在时，取该值或该函数的值,
//            self::FIELD_CONFIG_VALUE=>'null',//不管 指派人(CUID) 的值是否存在，取该值或该函数的值,
              self::FIELD_CONFIG_VALUE_FUNCTION=>'session("UID")',//不管 指派人(CUID) 的值是否存在，取该值或该函数的值
        ],

//      'ZUID'=>[//字段名称:执行者,数据类型:int(11),注释:
//            self::FIELD_CONFIG_DEFAULT=>'null',//当 执行者(ZUID) 的值不存在时，取该值或该函数的值,
//            self::FIELD_CONFIG_DEFAULT_FUNCTION=>'null',//当 执行者(ZUID) 的值不存在时，取该值或该函数的值,
//            self::FIELD_CONFIG_VALUE=>'null',//不管 执行者(ZUID) 的值是否存在，取该值或该函数的值,
//            self::FIELD_CONFIG_VALUE_FUNCTION=>'null',//不管 执行者(ZUID) 的值是否存在，取该值或该函数的值
//      ]
    ];
    public $saveFieldsConfig=[
    
//      'TaskName'=>[//字段名称:任务名称,数据类型:char(50),注释:
//            self::FIELD_CONFIG_DEFAULT=>'null',//当 任务名称(TaskName) 的值不存在时，取该值或该函数的值,
//            self::FIELD_CONFIG_DEFAULT_FUNCTION=>'null',//当 任务名称(TaskName) 的值不存在时，取该值或该函数的值,
//            self::FIELD_CONFIG_VALUE=>'null',//不管 任务名称(TaskName) 的值是否存在，取该值或该函数的值,
//            self::FIELD_CONFIG_VALUE_FUNCTION=>'null',//不管 任务名称(TaskName) 的值是否存在，取该值或该函数的值
//      ],

        'CTime'=>[//字段名称:生成时间,数据类型:int,注释:
//            self::FIELD_CONFIG_DEFAULT=>'null',//当 生成时间(CTime) 的值不存在时，取该值或该函数的值,
//            self::FIELD_CONFIG_DEFAULT_FUNCTION=>'null',//当 生成时间(CTime) 的值不存在时，取该值或该函数的值,
//            self::FIELD_CONFIG_VALUE=>'null',//不管 生成时间(CTime) 的值是否存在，取该值或该函数的值,
              self::FIELD_CONFIG_VALUE_FUNCTION=>'unset',//不管 生成时间(CTime) 的值是否存在，取该值或该函数的值
        ],

//      'Status'=>[//字段名称:任务状态,数据类型:tinyint(1),注释:
//            self::FIELD_CONFIG_DEFAULT=>'null',//当 任务状态(Status) 的值不存在时，取该值或该函数的值,
//            self::FIELD_CONFIG_DEFAULT_FUNCTION=>'null',//当 任务状态(Status) 的值不存在时，取该值或该函数的值,
//            self::FIELD_CONFIG_VALUE=>'null',//不管 任务状态(Status) 的值是否存在，取该值或该函数的值,
//            self::FIELD_CONFIG_VALUE_FUNCTION=>'null',//不管 任务状态(Status) 的值是否存在，取该值或该函数的值
//      ],

        'CUID'=>[//字段名称:指派人,数据类型:int(11),注释:
//            self::FIELD_CONFIG_DEFAULT=>'null',//当 指派人(CUID) 的值不存在时，取该值或该函数的值,
//            self::FIELD_CONFIG_DEFAULT_FUNCTION=>'null',//当 指派人(CUID) 的值不存在时，取该值或该函数的值,
//            self::FIELD_CONFIG_VALUE=>'null',//不管 指派人(CUID) 的值是否存在，取该值或该函数的值,
              self::FIELD_CONFIG_VALUE_FUNCTION=>'unset',//不管 指派人(CUID) 的值是否存在，取该值或该函数的值
        ],

//      'ZUID'=>[//字段名称:执行者,数据类型:int(11),注释:
//            self::FIELD_CONFIG_DEFAULT=>'null',//当 执行者(ZUID) 的值不存在时，取该值或该函数的值,
//            self::FIELD_CONFIG_DEFAULT_FUNCTION=>'null',//当 执行者(ZUID) 的值不存在时，取该值或该函数的值,
//            self::FIELD_CONFIG_VALUE=>'null',//不管 执行者(ZUID) 的值是否存在，取该值或该函数的值,
//            self::FIELD_CONFIG_VALUE_FUNCTION=>'null',//不管 执行者(ZUID) 的值是否存在，取该值或该函数的值
//      ]
    ];
    protected $property=[
        'User'=>[//执行者  用户  属性
            self::RELATION_TABLE_NAME=>'User',//属性关联表
            self::RELATION_TABLE_COLUMN=>'UID',//关联表中的关联字段
            self::RELATION_MAIN_COLUMN=>'ZUID',//主笔中的关联字段
            self::RELATION_TABLE_PROPERTY=>self::PROPERTY_ONE,            
        ],
        'User'=>[//指派人  用户  属性
            self::RELATION_TABLE_NAME=>'User',//属性关联表
            self::RELATION_TABLE_COLUMN=>'UID',//关联表中的关联字段
            self::RELATION_MAIN_COLUMN=>'CUID',//主笔中的关联字段
            self::RELATION_TABLE_PROPERTY=>self::PROPERTY_ONE,            
        ],
    ];
    protected $link=[
       
    ];
    protected $searchFields=['LID','TaskName','CTime','Status','CUID','ZUID','Content','FinishTime','EndTime'];
    protected $searchTable='Task';
    protected $searchWFieldsConf=[
        'Task'=>'Task',        
    ];
    protected $searchWFieldsGroup=[
        'Task'=>['LID','TaskName','CTime','Status','CUID','ZUID','Content','FinishTime','EndTime'],
    ];
}